ifndef AST_DECLARATIONS_MK
AST_DECLARATIONS_MK:=yes

CURRENT_PATH:=$(PROJ_PATH)AST/Declarations/

TMP_OBJS :=$(CURRENT_PATH)InitializerList.o \
$(CURRENT_PATH)AbstractDeclarator.o \
$(CURRENT_PATH)Declaration.o \
$(CURRENT_PATH)DeclarationSpecifiers.o \
$(CURRENT_PATH)Declarator.o \
$(CURRENT_PATH)Designation.o \
$(CURRENT_PATH)Designator.o \
$(CURRENT_PATH)DesignatorList.o \
$(CURRENT_PATH)DirectAbstractDeclarator.o \
$(CURRENT_PATH)DirectDeclarator.o \
$(CURRENT_PATH)Enumerator.o \
$(CURRENT_PATH)EnumeratorList.o \
$(CURRENT_PATH)EnumSpecifier.o \
$(CURRENT_PATH)FunctionSpecifier.o \
$(CURRENT_PATH)IdentifierList.o \
$(CURRENT_PATH)InitDeclarator.o \
$(CURRENT_PATH)InitDeclaratorList.o \
$(CURRENT_PATH)Initializer.o \
$(CURRENT_PATH)ParameterDeclaration.o \
$(CURRENT_PATH)ParameterList.o \
$(CURRENT_PATH)ParameterTypeList.o \
$(CURRENT_PATH)Pointer.o \
$(CURRENT_PATH)SpecifierQualifierList.o \
$(CURRENT_PATH)StorageClassSpecifier.o \
$(CURRENT_PATH)StructDeclaration.o \
$(CURRENT_PATH)StructDeclarationList.o \
$(CURRENT_PATH)StructDeclarator.o \
$(CURRENT_PATH)StructDeclaratorList.o \
$(CURRENT_PATH)StructOrUnion.o \
$(CURRENT_PATH)StructOrUnionSpecifier.o \
$(CURRENT_PATH)TypeName.o \
$(CURRENT_PATH)TypeQualifier.o \
$(CURRENT_PATH)TypeQualifierList.o \
$(CURRENT_PATH)TypeSpecifier.o


OBJS+=$(TMP_OBJS)

DEPS+= $(TMP_OBJS:%.o=%.d)

$(CURRENT_PATH)%.o:$(CURRENT_PATH)%.cpp
	@echo 'Building $@'
	g++ $(INCLUDES) $(DEFINES) $(COMPILE_FLAGS) -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
	@echo 'Finish building $@'
	@echo ' '
	
endif

